<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // 2. 封装 随机一个4位数字的验证码 的函数
  //   ○ 如：0287
  // 0~9999
  // 1000~9999
  // 0~9 0~9 0~9 0~9

  function randomNumber( n ){
    // 处理默认参数值
    n = n || 4;
    // 准备字符用于保存随机数字
    var str = "";
    // 根据指定位数，重复生成随机数
    for(var i=0;i<n;i++){
      // 将生成的随机数拼接到字符中
      str += random(0, 9);
    }
    // 返回结果
    return str;
  }
  // console.log( randomNumber() );



  // 3. 封装 随机rgb格式的颜色值 的函数
  //   ○ 如：rgb(23,53,126)
  function randomRGB(){
    // 字符串拼接处rgb格式的颜色值
    return "rgb("+ random(0,255) +","+ random(0,255) +","+ random(0,255) +")"
  }
  // console.log(randomRGB())

  // 4. 封装 随机十六进制的颜色值 的函数
  //   ○ 如：#61f135
  function randomColor(){
    // 随机生成颜色值的每个部分，转成十六进制
    var r = random(0, 255).toString(16);
    var g = random(0, 255).toString(16);
    var b = random(0, 255).toString(16);
    // 如果十进制小于16，转成十六进制后，只有一位，需要补零
    return "#" + createZero(r) + createZero(g) + createZero(b);
  }
  function createZero( n ){
    // 因为十六进制的是字符，索引可以通过判断长度，决定是否需要补零
    if( n.length < 2 ){
      return "0" + n;
    }
    return n;
  }
  // console.log( randomColor() )


  // 5. 实现抽象效果，每次点击按钮，显示抽奖结果（一等奖，二等奖，三等奖，参与奖，谢谢惠顾）
  //   ○ 点击按钮，直接显示结果即可，不需要炫酷的动画效果

  var arr = ["一等奖", "二等奖", "三等奖", "参与奖", "谢谢惠顾"];
  // 设定各种奖项的几率
  // 0~0.05     0
  // 0.05~0.15   1
  // 0.15~0.3   2
  // 0.3~0.5   4
  // 0.5~1     5
  function fn(){
    var n = Math.random();
    if( n >= 0 && n <= 0.05 ){
      return arr[0];
    }
    if( n > 0.05 && n <= 0.15 ){
      return arr[1];
    }
    if( n > 0.15 && n <= 0.3 ){
      return arr[2];
    }
    if( n > 0.3 && n <= 0.5 ){
      return arr[3];
    }
    if( n > 0.5 && n <= 1 ){
      return arr[4];
    }
  }
  console.log( fn() );








  function random(max,min){
    return Math.round(Math.random()*(max-min)+min);
  }
</script>
</html>